package com.report.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.report.dto.request.CensusReq;
import com.report.dto.request.FileReq;
import com.report.dto.response.CensusRes;
import com.report.dto.response.FileRes;
import com.report.entity.ResearchFile;
import com.report.file.PdfFile;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author summer
 * @since 2024/06/25 14:54:47
 */
public interface IFileService extends IService<ResearchFile> {

    /**
     * 保存多个pdf文件
     * @param pdfFileList
     */
    void saveFile(List<PdfFile> pdfFileList);

    /**
     * 查询列表
     * @param fileReq
     * @return
     */
    Page<FileRes> lists(FileReq fileReq);

    /**
     * 查询未关联的文件
     * @return
     */
    List<FileRes> findLists();

    /**
     * 更新文件状态
     * @param fileId
     */
    void updateState(Integer fileId);

    /**
     * 查询文件统计列表
     * @param censusReq
     * @return
     */
    Page<CensusRes> censusRes(CensusReq censusReq);

    /**
     * 根据日期查询列表
     * @param censusReq
     * @return
     */
    Page<FileRes> itemLists(CensusReq censusReq);

    /**
     * 根据日期删除文件
     * @param censusReq
     */
    void deleteItem(CensusReq censusReq);
}
